import router from '@/router'
export default {
  namespaced: true,
  state: {
    // 侧边折叠
    navCollapse: false,
    // 定义导航
    navTabs: []
  },
  mutations: {
    SHOW_MENU (state) {
      state.navCollapse = !state.navCollapse
    },
    // 增加tab
    ADD_TAB (state, pathName) {
      /*
      pathName   一个是对应的名字，一个对应的路径/切换路由
       */
      /* pathName是一个对象
      {
        name:'增加商品'
        path:'/xxx'
      }
      */
      /* 插入之前判断
      1、是否在主页路由时不加，
      2、是否已经存在时，不加
      */
      const index = state.navTabs.findIndex(_tabs => (
        _tabs.path === pathName.path
      ))
      if (index !== -1 || pathName.path === '/dashBoard') {
        return false
      }
      state.navTabs.push(pathName)
    },
    // 删除tab
    REMOVR_TAB (state, index) {
      state.navTabs.splice(index, 1)
      // 当前导航删除结束后，跳转到 数组的 上一个tab对应的路由中（就是数组的最后一个）
      // 最后一个就是数组-1
      if (state.navTabs.length === 0) {
        router.push('/dashBoard')
      } else {
        router.push(state.navTabs[state.navTabs.length - 1].path)
      }
    },
    // 删除其它
    REMOVR_OUTER_TAB (state, index) {
      state.navTabs = state.navTabs.filter((pathName, i) => {
        return i === index
      })
      router.push(state.navTabs[0].path)
    },
    // 删除其它
    REMOVR_ALL_TAB (state) {
      state.navTabs = []
      router.push('/dashBoard')
    }
  }
}
